home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ccccvvvvsssseeeemmmmaaaa((((DDDD3333XXXX)))) ccccvvvvsssseeeemmmmaaaa((((DDDD3333XXXX))))
-
-
-
- NNNNAAAAMMMMEEEE
- _cccc_vvvv_ssss_eeee_mmmm_aaaa - conditionally perform a "V" or signal semaphore operation
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _""""_ssss_yyyy_ssss_////_tttt_yyyy_pppp_eeee_ssss_...._hhhh_""""
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _""""_ssss_yyyy_ssss_////_ssss_eeee_mmmm_aaaa_...._hhhh_""""
-
- _iiii_nnnn_tttt _cccc_vvvv_ssss_eeee_mmmm_aaaa_((((_ssss_eeee_mmmm_aaaa______tttt _****_s_e_m_a_p_))))_;;;;
-
- AAAArrrrgggguuuummmmeeeennnnttttssss
- _s_e_m_a_p
- Expects a pointer to the semaphore you want _cccc_vvvv_ssss_eeee_mmmm_aaaa to conditionally
- increment.
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- _cccc_vvvv_ssss_eeee_mmmm_aaaa routine conditionally performs a "V" operation depending on the
- current value of the semaphore. If the semaphore value is strictly less
- than 0, _cccc_vvvv_ssss_eeee_mmmm_aaaa increments the semaphore value by 1 and wakes up a
- sleeping process. Otherwise, _cccc_vvvv_ssss_eeee_mmmm_aaaa simply returns. _cccc_vvvv_ssss_eeee_mmmm_aaaa effectively
- performs a "V" operation if there is a process asleep on the semaphore;
- otherwise, it does nothing. To initialize semaphores before you use them,
- call _iiii_nnnn_iiii_tttt_nnnn_ssss_eeee_mmmm_aaaa(D3X) or _iiii_nnnn_iiii_tttt_nnnn_ssss_eeee_mmmm_aaaa______mmmm_uuuu_tttt_eeee_xxxx(D3X).
-
- RRRReeeettttuuuurrrrnnnn VVVVaaaalllluuuueeeessss
- _cccc_vvvv_ssss_eeee_mmmm_aaaa returns 1 if the semaphore value is less than 0 and a process is
- awakened. Otherwise _cccc_vvvv_ssss_eeee_mmmm_aaaa returns 0.
-
- SSSSeeeeeeee AAAAllllssssoooo
- _iiii_nnnn_iiii_tttt_nnnn_ssss_eeee_mmmm_aaaa(D3X), _iiii_nnnn_iiii_tttt_nnnn_ssss_eeee_mmmm_aaaa______mmmm_uuuu_tttt_eeee_xxxx(D3X), _vvvv_ssss_eeee_mmmm_aaaa(D3X)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-